﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using vudu.EnlaceDatos.SqlServer;
using vudu.Logica.Clases;

namespace vudu.Pruebas
{
    [TestFixture]
    public class PruebaEnlaceDeDatosHorarioEstudiante
    {
        [Test]

        public void PruebaConsultarSeccionesEstudiante()
        {
            Estudiante miEstudiante = new Estudiante();
            miEstudiante.IdEst = 1;
            SqlServerHorarioEstudiante miConexion = new SqlServerHorarioEstudiante();
            SeccionMateria miSeccion = new SeccionMateria();
            miSeccion.Materia.Nombre = "Desarrollo del Software";

            List<SeccionMateria> materiasEstudiante = new List<SeccionMateria>();
            materiasEstudiante = miConexion.ConsultarSeccionesEstudiante(miEstudiante);

            Assert.IsNotNull(materiasEstudiante);
            Assert.AreEqual(materiasEstudiante.ElementAt(0).Materia.Nombre, miSeccion.Materia.Nombre); 
        }

        [Test]
        public void PruebaConsultarSeccionesPracticaEstudiante()
        {
            Estudiante miEstudiante = new Estudiante();
            miEstudiante.IdEst = 1;
            SqlServerHorarioEstudiante miConexion = new SqlServerHorarioEstudiante();
            Practica miPractica = new Practica();
            miPractica.NombrePractica = "Practica Evaluacion de Sistemas Informaticos";
            List<Practica> practicaEstudiante = new List<Practica>();
            practicaEstudiante = miConexion.ConsultarSeccionesPracticaEstudiante(miEstudiante);

            Assert.IsNotNull(practicaEstudiante);
            Assert.AreEqual(practicaEstudiante.ElementAt(0).NombrePractica, miPractica.NombrePractica);

        }

        [Test]
        public void PruebaConsultarHorarioSeccionEstudiante()
        {
            SqlServerHorarioEstudiante miConexion = new SqlServerHorarioEstudiante();
            SeccionMateria miSeccion = new SeccionMateria();
            miSeccion.IdSeccionMateria = 1;
            miSeccion.Materia.Nombre = "Desarrollo del Software";
            List<HorarioDeClase> horarioEstudiante = new List<HorarioDeClase>();
            horarioEstudiante = miConexion.ConsultarHorarioSeccionEstudiante(miSeccion);

            Assert.IsNotNull(horarioEstudiante);
            Assert.AreEqual(horarioEstudiante.ElementAt(0).SalonDeClase.Nombre, "L2312");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).HoraInicio.ToShortTimeString(), "04:00 p.m.");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).HoraFin.ToShortTimeString(), "06:00 p.m.");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).Dia, "Martes");
        }

        [Test]
        public void PruebaConsultarHorarioPracticaEstudiante()
        {
            SqlServerHorarioEstudiante miConexion = new SqlServerHorarioEstudiante();
            Practica miPractica = new Practica();
            miPractica.IdPractica = 1;
            miPractica.NombrePractica = "Practica Evaluacion de Sistemas Informaticos";
            List<HorarioDeClase> horarioEstudiante = new List<HorarioDeClase>();
            horarioEstudiante = miConexion.ConsultarHorarioPracticaEstudiante(miPractica);

            Assert.IsNotNull(horarioEstudiante);
            Assert.AreEqual(horarioEstudiante.ElementAt(0).SalonDeClase.Nombre, "L1205");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).HoraInicio.ToShortTimeString(), "10:00 a.m.");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).HoraFin.ToShortTimeString(), "12:00 p.m.");
            Assert.AreEqual(horarioEstudiante.ElementAt(0).Dia, "Viernes");

        }

    }
}